Протокол обмена данными
SDK автоматически реализует три HTTP-эндпоинта. Вам не нужно их реализовывать -- это делает SDK через connexion + OpenAPI спеку.
GET /scan/status
Keeper периодически вызывает этот эндпоинт для получения текущего состояния модуля и данных.
Ответ:
{
"status": "ASSETS_READY",
"packet_num": 1,
"data": {
"host": [...],
"account": [...],
"network": [...],
"external_address": [],
"global_metadata": []
}
}
-
status- текущее состояние модуля (CREATE, RUN, ASSETS_READY, FINISH, ERROR) -
packet_num- номер текущего пакета (0 если пакетов нет) -
data- собранные ассеты (заполняется из storage)
POST /scan/got-packet
Keeper подтверждает получение пакета.
Тело запроса:
{
"packet_num": 1
}
SDK удаляет подтвержденный пакет из очереди. Когда все пакеты доставлены, статус автоматически переходит в FINISH.
POST /scan/shutdown
Keeper сигнализирует модулю о завершении работы. Контейнер останавливается.